home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus Special 23
/
AMIGAplus Sonderheft 23 (2000)(Falke)(DE)[!].iso
/
Updates
/
HD-Installer
/
-WHDLoad-
/
WHDLoad_dev
/
Patcher1.04
/
PARAMQTX
/
parampopulous.asm
< prev
Wrap
Assembly Source File
|
1999-11-08
|
16KB
|
529 lines
;fixed: diskprotectionchecks caused crashs on 68020+
; delays added, game was too fast
;In this example the first file will be read, altered and saved.
;The second file will be read, processed, altered and saved.
INCDIR ASM-ONE:INCLUDE2.0/
INCLUDE OWN/Patcher.I
HP MOVEQ.L #20,D0
RTS
DC.L MAINTAB
DC.B 'PTCH'
DC.B '$VER:PARAM_POPULOUS_1.0',0
EVEN
MAINTAB DC.L PCH_PROCESSING,PROCESSINGARRAY
DC.L PCH_FILECOUNT,2
DC.L PCH_ADAPTOR,ADNAME
DC.L PCH_DISKNAME,DISKNAMEARRAY
DC.L PCH_FILENAME,FILENAMEARRAY
DC.L PCH_CHANGES,CHANGESARRAY
DC.L PCH_NAME,PARAMNAME
DC.L PCH_DATALENGTH,LENGTHTABLE
DC.L 0
ADNAME DC.B 'Cracked by Quartex,',$a,'adapted and fixed by Harry.',0
EVEN
PARAMNAME DC.B 'Populous V2.7ß',0
EVEN
DISKNAMEARRAY DC.L DISK1NAME
DC.L DISK1NAME
DISK1NAME DC.B 'Populous',0
EVEN
FILENAMEARRAY DC.L FILE1NAME
DC.L FILE2NAME
FILE1NAME DC.B 'Populous',0
EVEN
FILE2NAME DC.B 'Populous.prg',0
EVEN
LENGTHTABLE DC.L 29116
DC.L 89092
CHANGESARRAY DC.L CHANGE1
DC.L CHANGE2
CHANGE1
DC.B $00,$80,$04,$D0,$17,$0C,$40,$02
DC.B $80,$6E,$70,$30,$39,$00,$DF,$F0
DC.B $04,$B0,$79,$00,$DF,$F0,$04,$67
DC.B $00,$FF,$F8,$4A,$00,$80,$04,$E8
DC.B $20,$82,$FC,$66,$58,$0C,$6C,$00
DC.B $9C,$82,$FE,$6D,$14,$0C,$6C,$00
DC.B $AA,$82,$FE,$6C,$0C,$0C,$6C,$00
DC.B $E7,$83,$00,$6D,$04,$70,$03,$60
DC.B $30,$00,$05,$0B,$AA,$80,$05,$0E
DC.B $02,$6D,$14,$80,$05,$13,$07,$B8
DC.B $82,$FE,$6C,$0C,$0C,$6C,$00,$80
DC.B $05,$1B,$21,$E7,$83,$00,$6D,$04
DC.B $70,$02,$60,$14,$0C,$6C,$00,$B8
DC.B $82,$FE,$6D,$10,$0C,$6C,$00,$F1
DC.B $83,$00,$6D,$08,$70,$01,$4E,$71
DC.B $29,$40,$82,$88,$00,$80,$1E,$1D
DC.B $12,$43,$52,$41,$43,$4B,$45,$44
DC.B $20,$42,$59,$20,$20,$51,$20,$55
DC.B $20,$41,$20,$80,$1E,$30,$04,$20
DC.B $54,$20,$45,$80,$1E,$35,$04,$58
DC.B $20,$20,$21,$40,$00,$00
EVEN
PROCESSINGARRAY DC.L 0
DC.L DECRYPT
;THE LENGTH OF "POPULOUS.PRG" IS $15C04
;DECRYPT USES THE REGISTERS A0-A3 AND D0-D1 AND D5-D7
;IF THE VERSION OF POPULOUS IS NOT ß2.7, THE DECRYPT WILL TOTALLY CRASH DOWN
;THE VERSION OF POPULOUS CAN BE CHECKED AT THE BOOTCLI OF THE POPULOUSDISK
DECRYPT MOVE.L 4(A5),A3 ;BUFFER OF FILE IN MEMORY
cmp.l #$3d42649a,$1000(a3)
beq.s .exe
clr.l d0
rts
.exe LEA $34C4-$2A2E+$1B6(A3),A0
LEA TAB(PC),A1
LEA $34C8-$2A2E+$1B6(A3),A2
MOVE.L #$4DE9,D0
MOVEQ.L #$3,D1
MOVE.L #$C1DB0158,D5
MOVE.L #$2408A86E,D6
MOVE.L #$6AC040EA,D7
.1
.2 LSL.L #1,D7
BTST D5,D7
BEQ.B .3
BTST D6,D7
BEQ.B .4
BRA.B .5
.3 BTST D6,D7
BEQ.B .5
.4 ADDQ.L #1,D7
.5 ADD.L D7,(A0)
ADD.L (A0)+,D7
SUBQ.L #1,D0
BNE.B .2
.6 SUBQ.L #1,D1
BEQ.B DECRYPTEND
MOVE.L (A1),A0
CMP.L #0,A0
BEQ.S .7
ADDA.L A3,A0
.7 ADDQ.L #4,A1
MOVE.L (A2)+,D0
BNE.B .1
BRA.B .6
DECRYPTEND
LEA.L $134(A3),A0
LEA.L $928(A3),A1
.1 MOVE.L #$4E714E71,(A0)+
CMPA.L A0,A1
BNE.S .1
LEA.L $978(A3),A0
LEA.L $A54(A3),A1
.2 MOVE.L #$4E714E71,(A0)+
CMPA.L A0,A1
BNE.S .2
LEA.L $ABE(A3),A0
LEA.L $BC6(A3),A1
.3 MOVE.L #$4E714E71,(A0)+
CMPA.L A0,A1
BNE.S .3
ADDA.L #$10000,A3
LEA.L $2058(A3),A0
MOVE.W #2-1,D0
BSR.S CDATA1
LEA.L $2080(A3),A0
MOVE.W #$11-1,D0
BSR.S CDATA1
LEA.L $2592(A3),A0
MOVE.W #2-1,D0
BSR.S CDATA1
LEA.L $25BA(A3),A0
MOVE.W #$11-1,D0
BSR.S CDATA1
LEA.L $FD32-$10000(A3),A0
MOVEQ.L #1-1,D0
BSR.S CDATA2
LEA.L $FD5A-$10000(A3),A0
MOVEQ.L #$F-1,D0
BSR.S CDATA2
CLR.L D0
RTS
CDATA1 MOVE.W #$E,D1
LEA.L CTAB(PC),A1
.1 MOVE.B (A1)+,(A0)+
DBF D1,.1
DBF D0,.2
RTS
.2 MOVE.B (A1)+,(A0)+
MOVE.B (A1)+,(A0)+
BRA.S CDATA1
CDATA2 MOVE.W #$10,D1
LEA.L CTAB2(PC),A1
.1 MOVE.B (A1)+,(A0)+
DBF D1,.1
DBF D0,CDATA2
RTS
TAB DC.L $143FC,0,0
CTAB DC.B $46,$55,$43,$4B,$20,$59,$4F,$55,$20,$4C
DC.B $41,$4D,$45,$52,$20,$21,$20
EVEN
CTAB2 DC.B $7B,$7A,$7B,$1D,$0E,$18,$10,$7B
DC.B $02,$14,$0E,$7B,$17,$1A,$16,$1E,$09
EVEN
CHANGE2
DC.B $00,$80,$00,$2C,$1C,$20,$50,$4F
DC.B $50,$55,$4C,$4F,$55,$53,$20,$77
DC.B $61,$73,$20,$63,$72,$61,$63,$6B
DC.B $65,$64,$20,$62,$79,$20,$74,$68
DC.B $65,$80,$00,$49,$16,$42,$45,$53
DC.B $54,$20,$2E,$2E,$2E,$20,$51,$55
DC.B $41,$52,$54,$45,$58,$20,$21,$20
DC.B $20,$20,$20,$80,$00,$60,$03,$20
DC.B $20,$20,$00,$80,$00,$64,$06,$20
DC.B $20,$20,$20,$20,$20,$80,$00,$6B
DC.B $0D,$20,$20,$20,$20,$20,$20,$20
DC.B $20,$20,$20,$20,$FC,$86,$00,$00
DC.B $00,$7F,$10,$00,$00,$87,$01,$80
DC.B $00,$89,$03,$20,$39,$80,$00,$80
DC.B $00,$8D,$03,$08,$21,$FA,$00,$80
DC.B $00,$91,$03,$20,$37,$AC,$00,$80
DC.B $00,$95,$03,$21,$0F,$E5,$00,$80
DC.B $00,$99,$03,$21,$23,$F0,$00,$80
DC.B $00,$9D,$03,$20,$5E,$04,$00,$80
DC.B $00,$A1,$03,$20,$37,$50,$00,$80
DC.B $00,$A5,$03,$21,$8A,$3E,$00,$80
DC.B $00,$A9,$03,$21,$23,$D8,$00,$80
DC.B $00,$AD,$02,$30,$04,$80,$00,$B1
DC.B $03,$21,$23,$CC,$00,$80,$00,$B5
DC.B $03,$20,$D0,$DC,$00,$80,$00,$B9
DC.B $03,$21,$23,$D0,$00,$80,$00,$BD
DC.B $03,$FC,$07,$DC,$00,$80,$00,$C1
DC.B $03,$FC,$07,$DE,$00,$80,$00,$C5
DC.B $03,$FC,$07,$E0,$00,$80,$00,$C9
DC.B $03,$FC,$07,$E2,$00,$80,$00,$CD
DC.B $03,$FC,$07,$E4,$00,$80,$00,$D1
DC.B $03,$FC,$07,$E6,$00,$80,$00,$D5
DC.B $09,$FC,$08,$D2,$C1,$DB,$01,$4D
DC.B $00,$31,$00,$00,$00,$E5,$31,$80
DC.B $09,$28,$50,$60,$00,$00,$4E,$A3
DC.B $C3,$7C,$75,$DB,$02,$04,$E7,$9D
DC.B $C8,$02,$DB,$9D,$24,$E8,$C6,$00
DC.B $00,$00,$00,$00,$00,$00,$00,$00
DC.B $00,$12,$6C,$00,$00,$00,$03,$00
DC.B $00,$00,$00,$00,$00,$4D,$E9,$B2
DC.B $16,$FF,$FF,$00,$00,$4D,$E9,$B8
DC.B $6A,$DF,$FF,$6F,$FA,$47,$8D,$88
DC.B $4E,$90,$50,$23,$30,$78,$B1,$40
DC.B $06,$7A,$B0,$CD,$E8,$BF,$09,$10
DC.B $79,$BE,$4E,$80,$0A,$54,$17,$20
DC.B $3A,$FE,$F2,$E5,$88,$45,$FA,$01
DC.B $F0,$D5,$C0,$47,$FA,$F5,$C6,$D7
DC.B $FA,$FE,$DE,$B7,$CA,$67,$00,$80
DC.B $0A,$6C,$52,$20,$1A,$61,$38,$22
DC.B $48,$4A,$AA,$FF,$FC,$66,$06,$D1
DC.B $FA,$FE,$CA,$22,$48,$22,$1A,$67
DC.B $E6,$20,$1A,$90,$BA,$FE,$C6,$61
DC.B $1E,$24,$08,$4E,$71,$20,$1A,$D5
DC.B $B1,$08,$00,$53,$81,$66,$F6,$4E
DC.B $71,$60,$E2,$60,$00,$00,$20,$D7
DC.B $72,$00,$02,$D7,$98,$00,$02,$41
DC.B $FA,$F5,$7A,$4A,$80,$67,$0A,$20
DC.B $50,$D1,$C8,$D1,$C8,$53,$80,$66
DC.B $F6,$58,$88,$4E,$75,$80,$0B,$C6
DC.B $17,$08,$97,$00,$07,$41,$FA,$F4
DC.B $5C,$30,$3A,$00,$7A,$67,$04,$4E
DC.B $71,$4E,$71,$2F,$48,$00,$02,$4C
DC.B $00,$80,$0B,$DE,$6C,$7F,$FF,$F4
DC.B $94,$48,$E7,$FF,$FE,$20,$7A,$F4
DC.B $D0,$4E,$60,$41,$FA,$00,$42,$45
DC.B $F9,$00,$00,$03,$E6,$30,$3C,$00
DC.B $0C,$34,$D8,$51,$C8,$FF,$FC,$41
DC.B $FA,$F4,$26,$D1,$FA,$FD,$3E,$43
DC.B $FA,$F4,$1E,$24,$49,$20,$3A,$00
DC.B $3C,$E5,$88,$D5,$C0,$4C,$FA,$00
DC.B $FF,$F4,$A2,$20,$39,$00,$00,$00
DC.B $04,$22,$00,$2E,$01,$48,$79,$00
DC.B $00,$03,$E6,$4E,$71,$4E,$75,$22
DC.B $D8,$B3,$CA,$6D,$FA,$42,$99,$B3
DC.B $C8,$6D,$FA,$48,$F9,$00,$FF,$00
DC.B $00,$00,$08,$4C,$DF,$7F,$FF,$4E
DC.B $73,$80,$FB,$D2,$3A,$3B,$5B,$5A
DC.B $51,$18,$29,$3A,$38,$30,$3E,$3F
DC.B $7B,$39,$22,$7B,$0F,$13,$1E,$7B
DC.B $19,$1E,$08,$0F,$7B,$75,$75,$75
DC.B $7B,$0A,$0E,$1A,$09,$0F,$1E,$03
DC.B $7B,$7B,$7B,$7B,$7B,$7B,$7B,$7B
DC.B $67,$9A,$80,$5A,$16,$1A,$A1,$A4
DC.B $23,$7B,$DB,$3B,$5B,$58,$89,$80
DC.B $FC,$DE,$38,$18,$A1,$A5,$DB,$19
DC.B $F2,$5B,$47,$3A,$5B,$5A,$D3,$3D
DC.B $6B,$2F,$5B,$3A,$5B,$5A,$91,$3D
DC.B $73,$1A,$A1,$A6,$BF,$2B,$5E,$15
DC.B $2A,$7D,$5B,$2B,$5F,$15,$2A,$79
DC.B $5B,$7B,$58,$15,$2A,$2B,$5D,$15
DC.B $2A,$79,$58,$15,$2A,$6F,$61,$A5
DC.B $2D,$3A,$5B,$80,$FD,$17,$1B,$FF
DC.B $3A,$5B,$5A,$35,$7B,$61,$A5,$05
DC.B $3B,$5B,$A5,$81,$1D,$0E,$18,$10
DC.B $7B,$02,$14,$0E,$7B,$17,$1A,$16
DC.B $1E,$09,$00,$80,$FD,$43,$17,$7B
DC.B $7A,$7B,$78,$1B,$5B,$47,$15,$2E
DC.B $1D,$0E,$18,$10,$7B,$02,$14,$0E
DC.B $7B,$17,$1A,$16,$1E,$09,$00,$80
DC.B $FE,$59,$11,$7B,$7A,$7B,$1D,$0E
DC.B $18,$10,$7B,$02,$14,$0E,$7B,$17
DC.B $1A,$16,$1E,$09,$00,$80,$FE,$6C
DC.B $10,$15,$2A,$15,$2E,$29,$A4,$53
DC.B $DA,$5B,$5C,$3A,$49,$7B,$67,$5B
DC.B $58,$80,$FE,$7E,$10,$3A,$5B,$5A
DC.B $0F,$3A,$5B,$5B,$41,$15,$2E,$29
DC.B $A4,$1A,$A2,$5B,$E4,$80,$FE,$90
DC.B $12,$4B,$DA,$6B,$61,$A7,$AB,$0D
DC.B $DB,$5A,$DA,$4B,$DA,$15,$2E,$1A
DC.B $A2,$5B,$E4,$80,$FE,$A4,$04,$7B
DC.B $67,$5B,$5B,$80,$FE,$AA,$76,$53
DC.B $4B,$5B,$5E,$3C,$5D,$08,$DB,$31
DC.B $AD,$15,$2E,$2B,$5B,$15,$2E,$13
DC.B $BC,$27,$5B,$61,$59,$3A,$5B,$5B
DC.B $85,$59,$1E,$5B,$24,$3C,$57,$6B
DC.B $61,$A7,$E3,$3A,$5B